筆記、資安


Posted by s103071049 on 2021-08-10

模型

常見的模型將資訊安全分成三大面向:機密性 Confidentiality, 完整性 Integrity, 可用性 Availability

一、機密性 Confidentiality

這個向度在乎的是「身份是否正確」。只有經過授權的身份、實體或是程序才能夠存取資料。特點:機密性的破壞為不可逆的,為資料一旦被公開就再也無法還原成「機密」的狀態。

加密(encryption)是最常見用來保護資料機密性的做法。加密確保只有擁有「鑰匙」的人才能夠存取資料。幾乎所有主要的協議都有使用加密,比如說 HTTPS protocol 就是使用網路傳輸安全協定 SSL 與 TLS。

二、完整性 Integrity

這個向度這個向度在乎的是「資料是否能夠信任」,必須確保資料沒有在未經授權、監督的情況下被修改。

常見的做法是將加密前的資料–明文(plaintext)–經由某種演算法加密後變成秘文(ciphertext);傳遞給對方之後,對方再使用鑰匙將秘文還原成明文。

三、可用性 Availability

這個向度在乎的是「資料是否可以穩定存取」,在網路世界中,可能會是一個網站突然無法連上線,或是一個停止運作的應用程式。

一個好的習慣是「備份」固定做好備份就可以減少因為硬碟損壞、天然災害等等而造成的損傷。

攻擊與防禦

IP spoofing

創造 IP packets(網路上的資料傳遞包裹)但是將這些 packets 的來源地址—source IP—填入其他人的資料
好處:隱藏自己的身份,讓來源無從被追查、讓回應的包裹導流到其他地方(被假造的 source IP)。

延伸運用:DDoS、Amplification Attack

DDoS: Distributed Denial of Service

利用大量的請求癱瘓目標系統,讓目標系統無法正常提供服務或資源。

DOS vs DDOS

兩兩 PK 賽:DOS (阻斷服務攻擊)

DoS 攻擊手法是一對一單挑,哪邊性能比較好哪邊就贏。

圍毆:DDOS (分散式阻斷服務攻擊)

「分散式」的意思就是「水平擴展」—一台電腦打不贏就用兩台打,兩台電腦打不贏就用 1000 台打,直到數量多到目標電腦招架不住為止。這些被抓進來一起打的電腦不一定是自願的,通常是因為自己系統中有漏洞所以被攻擊者控制的「殭屍」。

換句話說,他發動攻擊的源頭不只有一個了,所以要對付不能像 DoS 一樣直接抓出作亂的源頭並且封鎖,而要使用更進階的方式(比如說 Ingres Filtering)才能夠防堵。

SYN Flooding: 利用 TCP 協議的 DDoS 攻擊

在伺服器與客戶端建立連線時,若在 network 層的連線方式是使用 TCP(目前主流的連線方式),則會經過一個三次握手(Three-Way Handshake)的步驟。這三次握手的主要目的是讓雙方在交換資料之前確認彼此是自己想要交換資料的對象,使用 ACK (acknowledgment field significant) 與 SYN (synchronize sequence numbers) 兩個控制位元(Control Bits)來確認。

SYN Flooding 會故意不回傳確認連線的訊息給伺服器,讓第三次握手失敗,這時伺服器的行為會是不停地重試並且等到一定的時間(SYN timeout)之後才會放棄。可以想見若是這種情形大量出現,對於伺服器會是非常大的負擔。SYN Flooding 難防的是它利用的是 TCP/IP 協議中的漏洞,所以使用 TCP/IP 連線的伺服器都有可能遭受這種威脅。

閱讀資料:
[Security] DDoS: Distributed Denial of Service Attack


#CIA #dos #DDoS







Related Posts

Debug: Aws connection problem

Debug: Aws connection problem

HTML學習日記01

HTML學習日記01

[第三週] 用 Jest 寫單元測試

[第三週] 用 Jest 寫單元測試


Comments